﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DryWCS.Model.PLCModel
{
   public class ConveyorReadModel: INotifyPropertyChanged
    {
        [PLCAttribute(Type = "Int16", StartPosition = 0, BitPosition = 0, Size = 0, Describe = "1#输送线设备状态")]
        public static Int16 Status_1 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 2, BitPosition = 0, Size = 0, Describe = "1#输送线设备模式")]
        public static Int16 Mode_1 { get; set; }


        [PLCAttribute(Type = "int", StartPosition = 4, BitPosition = 0, Size = 0, Describe = "1#输送线当前任务ID")]
        public static int TaskId_1 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 8, BitPosition = 0, Size = 0, Describe = "1#输送线任务下发反馈")]
        public static Int16 TaskFeedback_1 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 10, BitPosition = 0, Size = 0, Describe = "1#输送线任务执行")]
        public static Int16 TaskStatus_1 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 12, BitPosition = 0, Size = 0, Describe = "2#输送线设备状态")]
        public static Int16 Status_2 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 14, BitPosition = 0, Size = 0, Describe = "2#输送线设备模式")]
        public static Int16 Mode_2 { get; set; }


        [PLCAttribute(Type = "int", StartPosition = 16, BitPosition = 0, Size = 0, Describe = "2#输送线当前任务ID")]
        public static int TaskId_2 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 20, BitPosition = 0, Size = 0, Describe = "2#输送线任务下发反馈")]
        public static Int16 TaskFeedback_2 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 22, BitPosition = 0, Size = 0, Describe = "2#输送线任务执行")]
        public static Int16 TaskStatus_2 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 24, BitPosition = 0, Size = 0, Describe = "3#输送线设备状态")]
        public static Int16 Status_3 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 26, BitPosition = 0, Size = 0, Describe = "3#输送线设备模式")]
        public static Int16 Mode_3 { get; set; }


        [PLCAttribute(Type = "int", StartPosition = 28, BitPosition = 0, Size = 0, Describe = "3#输送线当前任务ID")]
        public static int TaskId_3 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 32, BitPosition = 0, Size = 0, Describe = "3#输送线任务下发反馈")]
        public static Int16 TaskFeedback_3 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 34, BitPosition = 0, Size = 0, Describe = "3#输送线任务执行")]
        public static Int16 TaskStatus_3 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 36, BitPosition = 0, Size = 0, Describe = "4#输送线设备状态")]
        public static Int16 Status_4 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 38, BitPosition = 0, Size = 0, Describe = "4#输送线设备模式")]
        public static Int16 Mode_4 { get; set; }


        [PLCAttribute(Type = "int", StartPosition = 40, BitPosition = 0, Size = 0, Describe = "4#输送线当前任务ID")]
        public static int TaskId_4 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 44, BitPosition = 0, Size = 0, Describe = "4#输送线任务下发反馈")]
        public static Int16 TaskFeedback_4 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 46, BitPosition = 0, Size = 0, Describe = "4#输送线任务执行")]
        public static Int16 TaskStatus_4 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 48, BitPosition = 0, Size = 0, Describe = "5#输送线设备状态")]
        public static Int16 Status_5 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 50, BitPosition = 0, Size = 0, Describe = "5#输送线设备模式")]
        public static Int16 Mode_5 { get; set; }


        [PLCAttribute(Type = "int", StartPosition = 52, BitPosition = 0, Size = 0, Describe = "5#输送线当前任务ID")]
        public static int TaskId_5 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 56, BitPosition = 0, Size = 0, Describe = "5#输送线任务下发反馈")]
        public static Int16 TaskFeedback_5 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 58, BitPosition = 0, Size = 0, Describe = "5#输送线任务执行")]
        public static Int16 TaskStatus_5 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 60, BitPosition = 0, Size = 0, Describe = "6#输送线设备状态")]
        public static Int16 Status_6 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 62, BitPosition = 0, Size = 0, Describe = "6#输送线设备模式")]
        public static Int16 Mode_6 { get; set; }


        [PLCAttribute(Type = "int", StartPosition = 64, BitPosition = 0, Size = 0, Describe = "6#输送线当前任务ID")]
        public static int TaskId_6 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 68, BitPosition = 0, Size = 0, Describe = "6#输送线任务下发反馈")]
        public static Int16 TaskFeedback_6 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 70, BitPosition = 0, Size = 0, Describe = "6#输送线任务执行")]
        public static Int16 TaskStatus_6 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 72, BitPosition = 0, Size = 0, Describe = "7#输送线设备状态")]
        public static Int16 Status_7 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 74, BitPosition = 0, Size = 0, Describe = "7#输送线设备模式")]
        public static Int16 Mode_7 { get; set; }


        [PLCAttribute(Type = "int", StartPosition = 76, BitPosition = 0, Size = 0, Describe = "7#输送线当前任务ID")]
        public static int TaskId_7 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 80, BitPosition = 0, Size = 0, Describe = "7#输送线任务下发反馈")]
        public static Int16 TaskFeedback_7 { get; set; }


        [PLCAttribute(Type = "Int16", StartPosition = 82, BitPosition = 0, Size = 0, Describe = "7#输送线任务执行")]
        public static Int16 TaskStatus_7 { get; set; }

        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string propertyName = "")
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }


    }
}
